<LI>In most of the above commands, simply typing a <#210#><TT>[]</TT><#210#> for optional
arguments with <#211#><I>nothing</I><#211#> as the value will either cause an error or will
be interpreted as a null value; hence a <#212#><TT>[]</TT><#212#> should not be typed if an
optional argument is not meant to be specified.
<P>
</LI>
<LI>If too many ``dots'' are to be plotted in one picture, it is suggested
that a character other than the default be used --- about 40--50<tex2html_percent_mark> more dots
can be plotted in a picture using a period (.) or a <tex2html_verb_mark>95<tex2html_verb_mark>
(•) in various sizes, rather than the default <tex2html_verb_mark>96<tex2html_verb_mark>,
although the latter seems to have a better visual appearance. The
use a <tex2html_verb_mark>97<tex2html_verb_mark> also enables one to have a better control over the
thickness of dots and lines.
<P>
A note on efficiency: when specifying a font or a fontsize for a character
it is more efficient to say:
<BR><tex2html_verb_mark>98<tex2html_verb_mark>, rather than
<BR><tex2html_verb_mark>99<tex2html_verb_mark>.
<BR>In the latter case, <tex2html_verb_mark>100<tex2html_verb_mark> macro gets invoked for <#213#><I>each</I><#213#> instance
of the dotcharacter <tex2html_verb_mark>101<tex2html_verb_mark> as the dottedline is plotted.
<P>
</LI>
<LI>If it is not very important as to how accurately spaced a dashed line
appears, then it is suggested that <tex2html_verb_mark>102<tex2html_verb_mark> command with a -ve
stretch be used instead of <tex2html_verb_mark>103<tex2html_verb_mark>, since the former is much more
cpu- and memory-efficient.
<P>
</LI>
<LI><tex2html_verb_mark>104<tex2html_verb_mark> and <tex2html_verb_mark>105<tex2html_verb_mark> come out much too thin with
<tex2html_verb_mark>106<tex2html_verb_mark>. Moreover, the thicker the <tex2html_verb_mark>107<tex2html_verb_mark>, fewer
``dots'' are required to construct dashes resulting in lesser memory and cpu
usage. Thus, it is recommended that they be plotted with <tex2html_verb_mark>108<tex2html_verb_mark>
in effect, or with a linethickness of about 1--2pt.
<P>
</LI>
<LI>In the case of <tex2html_verb_mark>109<tex2html_verb_mark>, any explicit linethickness declarations
(i.e. using <tex2html_verb_mark>110<tex2html_verb_mark> command) are ignored. The only applicable
declarations are <tex2html_verb_mark>111<tex2html_verb_mark> and <tex2html_verb_mark>112<tex2html_verb_mark> since line-segment
fonts are available in only two thicknesses.
</LI>
</UL>
<P>
Above commands are available in the picture environment only since they use
many of the L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X's predefined picture commands. Extensive use of some of
the internal macros and variables of L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X has been made for efficiency
sake, even though that makes these macros vulnerable to future revisions of
L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X.
<P>
The dottedline macro gets complicated because T<SMALL>E</SMALL>X does not have any builtin
facility for floating point calculations or for calculating square-roots or
trigonometric functions. The inter-dot-gap in a dottedline has to be treated
as the actual distance between two dots along the ``hypotenuse'' and not its
projected distance along x-axis or y-axis, since the latter interpretation
would result in a different <#215#><I>real</I><#215#> inter-dot-gap for different slopes;
it would be incorrect if we were joining points on a graph. The dootedline
macro treats the inter-dot-gap as the actual distance between two dots and
draws the various segments of the ``curve'' with this distance fixed. The
macro accomplishes this by estimating the actual length of the line and the
number of segments of the specified distance that will fit between the two
end-points; a macro, namely, <tex2html_verb_mark>113<tex2html_verb_mark> calculates this
square-root. Some algebraic relations are used in estimating this square-root
and are described in appendix A.
<P>
Beware, if far too many dots are put in one picture, L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X will run out of
memory (box full), so be kind to it. For instance, by reducing the
inter-dot-gap to about 0.3mm in the case of a <tex2html_verb_mark>114<tex2html_verb_mark>, one can get
essentially a solid line, but that would mean a LOT of dots and it may run
out of memory.
<P>
If many lines using above-mentioned macros are drawn, then a
<tex2html_verb_mark>115<tex2html_verb_mark> ought to be put at judicious places in the document so as
to tell L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X not to keep those figures floating -- L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X sometimes
keeps entire figures in memory while trying to figure out how and where to
lay them and it can frequently run out of memory. A <tex2html_verb_mark>116<tex2html_verb_mark> may
prevent running out of memory and may reduce execution times.
In case of such a
memory-full error message, a <tex2html_verb_mark>117<tex2html_verb_mark> in the region where the error
occurred should be attempted first and if that does not help then the number
of ``dots'' in the picture will have to be reduced.
<P>
A word about <tex2html_verb_mark>118<tex2html_verb_mark> is in order. L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X's <tex2html_verb_mark>119<tex2html_verb_mark> command
takes an ordered pair of integers to specify the slope of the line where the
numbers are between -6 and 6 such that the least common divisor is 1. For
the <tex2html_verb_mark>120<tex2html_verb_mark> command, the given arbitrary slope has to be mapped to
the pair of integers representing the <#216#><I>closest</I><#216#> available slope.
Another macro, <tex2html_verb_mark>121<tex2html_verb_mark> is used to accomplish this task. The macro
<tex2html_verb_mark>122<tex2html_verb_mark> takes two arguments, the base and the height of the
triangle whose hypotenuse represents the line to be drawn and returns the
ordered pair of integers representing the closest slope; using a line segment
of that slope, a jagged line between the two specified end-points is then
constructed. More details can be found in the macro file <#217#><TT>epic.sty</TT><#217#>.
<P>
As noted earlier, the command <tex2html_verb_mark>123<tex2html_verb_mark> behaves identically as <tex2html_verb_mark>124<tex2html_verb_mark>
when not in any of the join environments. The author considered obliterating
the <tex2html_verb_mark>125<tex2html_verb_mark> command too radical a step. Also, there should have been a
command <tex2html_verb_mark>126<tex2html_verb_mark> corresponding to the <tex2html_verb_mark>127<tex2html_verb_mark> command (like the
<tex2html_verb_mark>128<tex2html_verb_mark> command) but that was considered unnecessary since typically
the number of coordinates plotted in a join environment would be an order
less than what might be the case with <tex2html_verb_mark>129<tex2html_verb_mark> and can be easily
typed explicitly in the document using <tex2html_verb_mark>130<tex2html_verb_mark> commands.
However, if it is desired to have all the <tex2html_verb_mark>131<tex2html_verb_mark> commands treated as
though they were <tex2html_verb_mark>132<tex2html_verb_mark>, the following declaration may be used:
<BR> <tex2html_verb_mark>133<tex2html_verb_mark>
<BR>Above declaration will make all
the <tex2html_verb_mark>134<tex2html_verb_mark> commands be treated as <tex2html_verb_mark>135<tex2html_verb_mark>; in particular,
<tex2html_verb_mark>136<tex2html_verb_mark> command would then behave as though it were a
<tex2html_verb_mark>137<tex2html_verb_mark> when in any of the join environments. However, it is
suggested that such ``tricks'' be used with care.
<P>
Finally, commands to plot vectors of arbitrary slopes have not been
implemented. One way to plot them is to plot a line, and subsequently plot a
<tex2html_verb_mark>138<tex2html_verb_mark> of appropriate slopes and length zero at the required place.
<P>
Following pages contain some examples. The test-sample picture for
<tex2html_verb_mark>139<tex2html_verb_mark> command (Figure~2) is also about the maximum amount of
objects that one can put in one picture. Older versions of T<SMALL>E</SMALL>X and L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X may not be able to print pictures of this size.